Method, data transfer arrangement, server and terminal device for updating information in a terminal device

ABSTRACT

The invention relates to a method and data transfer arrangement for synchronizing information comprised by an application program in a client device. In the method, information comprised by an application program in the client device is updated from a media server maintaining up-to-date information. In addition, the data transfer arrangement comprises a separate license server, which contains two separate license files: the first license file and the second license file. The up-to-date status of information in the client device can be ensured by means of the first license file. The second license file comprises information by which the update required by the client device can be retrieved from a media server maintaining up-to-date information.

FIELD OF THE INVENTION

The invention relates to a method for synchronizing informationcomprised in an application program in a client device, in which methodinformation comprised in an application program in a client device isupdated from a server maintaining up-to-date information. The inventionalso relates to a data transfer arrangement, in which the method isutilized. In addition, the invention relates to a license server and amobile terminal device included in the data transfer system.Furthermore, the invention relates to software means for implementingthe method.

BACKGROUND

Information available to people becomes easily dispersed to differentdevices and information systems. Part of the information available canbe located in files in fixed networks on servers or personal computers,for example. On the other hand, terminal devices of various cellularnetworks, laptop computers or palm computers contain information, filesand programs that are important to the user. Maintaining them in a waythat the latest created version of each piece of information, file orprogram is always the one currently in use, is a challenging task. Theupdating and at the same time unifying of information, files andprograms in different devices is generally called synchronization ofdata.

One possible way of performing synchronization is for the user toperform it separately on each device. Although data transfer from onedevice and information system to another can function entirelyelectronically, it always requires action from the user in this case.The user must remember to synchronize the information of differentdevices frequently enough. If synchronization is not performed oftenenough, the user can end up in a situation in which there are too manydifferences in the information contained by different informationsystems. In the worst case, the user does not know which one of thefiles is the latest and/or most correct. Possibly it can be checked fromthe creation date of the information, but it is a laborious way,especially if there are a large number of files to be checked. Besides,the latest creation date of the file does not always ensure thecorrectness of all information, if information is maintained in morethan two devices or files.

A subroutine included in the program, which reminds of the updates, isutilized in the updating of computer software. It can be called aprogram-specific reminder. This reminder gives the user an update promptwhen a sufficient number of days has passed since the previous prompt orupdate. The user can usually either accept the update or reject it. Insome types of software, such a slow manner of updating is sufficient.Such softwares are, for example, various text, image or presentationsoftwares.

However, there are types of information, files and software in whichcorrectness and currentness are desirable properties. Examples of suchfiles and programs are various personal calendars and virus protectionprograms. They are useful to the user only when the informationcontained by them complies with the latest supplementary informationthat exists about them. There are many sad examples of deficiencies inthe updating of virus protection programs. Because of the deficienciesof virus protection programs especially in mobile, wireless devices,entire company networks have become so badly contaminated that they havehad to be closed down in order to destroy the viruses and worms spreadin the network. Such an event is bad publicity for the company whosenetwork has to be closed down even for a short time because of a virusproblem in it.

In principle, it would be possible to update the information, file orsoft ware in the terminal device always when the terminal device isstarted. However, this solution increases the need for data transfer somuch that especially in wireless data transfer systems, the limited datatransfer capacity becomes a problem. Then the program in the terminaldevice starts slowly, because transferring the updated version to theterminal device is slow through a limited data transfer channel. Theslowness of the data transfer channel is further increased by thetransfer of unnecessary updates to such terminal devices, which alreadyhave the latest updated version of the information, file or program.

The above examples illustrate the importance of managing up-to-dateinformation in the prior art information networks. This is particularlytrue in the management of information and softwares contained by variousmobile devices. Such management of information and files is generallycalled Software Management. Software management has the followingcharacteristics, for example: One terminal device or server can remotecontrol at least one other device by it. It can also be used forcomplementing a program or a part of it in some terminal device by newinformation or parts of the program located in another device. Theexistence of the licenses, or rights of use for the programs are alsomanaged by it. Software Management can also comprise matters related toDigital Right Management.

Open Mobile Alliance (OMA) has published specifications, which concernthe updating and maintenance of software in mobile devices. Thespecifications OMA DM (Device Management) and OMA DS (DataSynchronization) describe some possible ways of implementing datatransfer and up-to-date file maintenance in mobile devices. Thesespecifications describe the SynchML (Synchronization Mark up Language)protocol and how it is utilized in the actual implementation ofsynchronization. However, the standards do not define how the startingof the synchronization could be implemented without any action from theuser as a kind of automatic operation, when the application is startedin the mobile terminal.

A good and simple software management procedure could thus make iteasier to maintain and use programs in information networks andespecially in various mobile terminal devices. By it, most softwareupdates could be carried out as remote work of IT personnel or entirelywithout their contribution. In addition, a good software managementprocedure could use the data transfer network so that it would notstress the data transfer network by unnecessary file transfer.

SUMMARY

It is the object of the present invention to provide a method and datatransfer arrangement by which it is always possible to use the mostup-to-date version of some piece of information, file or program used ina mobile terminal, but without putting unnecessary stress on the limitedmobile data transfer network serving the terminal device.

The objects of the invention are achieved by a procedure in which at thebeginning of a program started in the terminal device, the terminaldevice is notified whether it is using an up-to-date piece ofinformation, file or program or not. In order to obtain thisinformation, the terminal device sends a query to another devicemaintaining up-to-date information. This other device answers the querysent by the terminal device. The information indicating the up-to-datestatus is transmitted by a special first license file maintained by theother device. Only in the case that this first license file indicatesthat there is old information, an old file or an old program in theterminal device that made the query, the actual updating of theinformation, file or program is started. The updating is carried out asa separate measure from a device address indicated by the other licensefile according to the invention, which can be called the applicationfile.

The method and data transfer arrangement according to the invention havethe advantage that it is possible to use up-to-date information, filesor programs in a mobile terminal always after the starting of a certainapplication, when desired.

In addition, the invention has the advantage that the limited mobiledata transfer channel is not overloaded by the updating files beingtransferred.

The invention also has the advantage that the procedures according tothe OMA DS and OMA DM specifications can be utilized in the updating ofinformation, files and programs.

A further advantage of the information is the fact that the updating ofthe information/files can be started without explicit action requiredfrom the user.

The invention also has the advantage that the user need not remember thedevice address of the device maintaining the update file.

Yet another advantage of the invention is the fact that the user canalso prevent the updating from taking place, if it is not wanted.

Furthermore, the invention has the advantage that after the user hasgiven the permission to update, the files/information in the device areupdated without any further action from the user.

In addition, the invention has the advantage that the memory capacityrequired by the procedure both in the terminal device and the otherdevice maintaining the updating is small.

The method according to the invention for synchronizing information inthe client device is characterized in that starting an applicationprogram or synchronization starting application in a client devicecauses checking of the up-to-date status of information comprised by anapplication program in the client device from a separate other licenseserver before said information is taken into use in the applicationprogram.

The data transfer arrangement according to the invention ischaracterized in that the starting of an application program orsynchronization starting application in the client device has beenarranged to cause checking of the up-to-date status of the informationin the application program of the client device from a separate licenseserver before said information has been arranged to be taken into use insaid application program.

The license server according to the invention is characterized in thatit comprises an up-to-date first license file and a second up-to-datelicense file, by means of which the up-to-date status of the applicationprogram in the client device can be checked and updated.

The terminal device of a data transfer network according to theinvention is characterized in that the terminal device comprises

-   -   a) means for starting the synchronization of information        comprised in an application    -   b) program to be started in a terminal device, which means have        been arranged to send a synchronization starting message to a        license server, which synchronization starting message comprises        information concerning the up-to-date status of the application        program to be started, and    -   c) means for processing the reply message sent by the license        server, which message comprises the information of the        up-to-date first license file and either the information of the        second license file or a synchronization acceptance message.

Some preferred embodiments of the invention are presented in thedependent claims.

The basic idea of the invention is the following: A second devicemaintaining up-to-date license information/files according to theinvention, a license server according to the invention, advantageouslycomprises two license files. The first license file comprises thefollowing information, for example: license holder information, time ofvalidity of the license and restrictions on use of the license. Thesecond license file comprises the following information, for example:the name and the version number of the license, information of the pathfrom which the information, file or program can be retrieved,information about the objects to be downloaded and possibly variousrelease notes.

The procedure according to the invention is started when the mobileterminal device requests the checking of the status of the informationin its own license file by sending the request to the server maintainingthe license information The checking request can be sent either by theactual application program to be started or by a separatesynchronization starting program to be started separately. The licenseserver according to the invention, which received the checking request,checks the first license file it received from the mobile terminaldevice that sent the request. If the information of this received, firstlicense file differs from the corresponding first license information onthe license server, it is necessary to update the mobile terminaldevice. Then the license server sends to the terminal device that askedfor the checking the updated first license file and the second licensefile according to the invention, by using which the terminal device thatmade the checking request can retrieve an updated version of theinformation, file or program.

If it is not necessary to update the information, files or program ofthe terminal device, only the first license file according to theinvention is sent to the terminal device that made the checking query.Thus the terminal device that made the query knows in each case whetherit is using an up-to-date version of the information, files or programor not. The license files to be transferred are so small that the loadcaused by them on the data transfer network does not have an effect onthe performance of the network.

BRIEF DESCRIPTION OF THE DRAWINGS

In the following, the invention will be described in more detail.Reference will be made to the accompanying drawings, in which

FIG. 1 is an exemplary signal chart of the steps of the procedureaccording to the invention in a client-server environment,

FIG. 2 is an exemplary signal chart of the updating of informationtaking place through the procedure according to the invention,

FIG. 3 a shows the information content of the first license fileaccording to the invention by way of example,

FIG. 3 b shows the information content of the second license fileaccording to the invention by way of example, and

FIG. 4 shows, as an exemplary flow chart, the main steps of the methodaccording to the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 depicts, as an exemplary signal chart, the main steps of themethod according to the invention. In the example of FIG. 1, the licenseserver 12 maintains up-to-date license files according to the invention:the first license file and the second license file. The first licensefile comprises the following license information, for example: theholder of the license, time of validity of the license and possiblerestrictions on use of the license. The second license file comprisesinformation needed in the actual implementation of the synchronization,such as: the name and version number of the license, path to the deviceaddress from which the update of the file or program can be retrieved,and information about the content of the object to be updated. Inaddition, this second license file can comprise various additionalinformation about the release. This second license file can also becalled the update application file.

The information synchronization procedure according to the invention isstarted when an application program, to which the checking routineaccording to the invention has been added, is started in a client device11 belonging to some data transfer network. Alternatively, the clientdevice 11 has a separate synchronization starting application, theactivation of which starts the synchronization procedure according tothe invention. The client device 11 can be, for example, a terminaldevice of a cellular network, a WLAN terminal device, a PDA or a palmcomputer. The data transfer network can be some wireless data transfernetwork. When either of the above mentioned application programs in theclient device 11 is started, the client device 11 sends asynchronization starting message 14 to the license server 12. Thismessage comprises the information according to the first license file inthe form in which it has been saved in the client device 11: the holderof the license, time of validity of the license and restrictions of thelicense.

The license server 12 checks the information of the first license filein the starting message 14 it received. If the license file contained bythe starting message 14 is equivalent to the information contained bythe corresponding first license file in the license server 12, thelicense server 12 sends a synchronization acceptance message 15 and amessage 16 containing the information of the valid first license file tothe client device 11, which asked for the synchronization. Thesynchronization acceptance message 15 notifies the client device 11 thatit has the newest updated version of the application program to bestarted or the information/file needed by it. If the status of theclient device 11 is such as described above, no further data transferbetween the license server 12 and the client device 11 is needed, andthe client device 11 can start using the actual application program.

However, if the license server 12 finds out that the synchronizationstarting message 14 received by it contains the first license fileaccording to the invention, the information of which differs from theinformation in its own first license file, the operation follows theexample of FIG. 2. In FIG. 2, the client device 11 sends an ordinarysynchronization starting message 14. The license server 12 finds outthat the information of the first license file held by it differs fromthe first license file contained by the synchronization starting message14 it received from the client device 11. In this situation, the licenseserver 12 sends both valid license files according to the invention tothe client device 11, reference 17. Because the client device 11 doesnot receive the synchronization acceptance message 15 in this case, itknows that it has to update the information, file or program held by iton the basis of the information contained by the second license filereceived by it. In an advantageous embodiment of the invention, the userof the client device 11 can be asked for permission to carry out theactual updating at this stage. In another advantageous embodiment of theinvention, an update permission of permanent nature can also be given inconnection with any updating.

If the permission to carry out the updating has been obtained from theuser or it is of permanent nature, the client device 11 sends the actualrequest to update the information, file or program 18 to a media server13, the device address of which has been included in the second licensefile according to the invention, received by the client device 11 fromthe license server 12. As a reply to the update request 18 received, themedia server 13 sends the update information 19 to the client device 11in the form defined by the OMA DM specification, for example. In theclient device 11, the updating is carried out in the manner described bythe update file sent by the media server 13. After the updating carriedout, the information, files and programs used by the client device 11are up to date.

In FIGS. 3 a and 3 b, it is shown by way of example in which form theinformation comprised in the first and the second license file can betransmitted. FIG. 3 a shows, as an example, the information comprised bythe first license file in one exemplary case. In the example of FIG. 3a, the licensee is V-tech, the license is valid from 18 Mar. to 31 Jan.2003 and it concerns the NG_GAME_CHESS application. This informationcomprised by the first license file according to the invention issufficient to ensure the up-to-date status of the information, file orapplication program used by the client device 11.

FIG. 3 b shows an example of the case when the license server 12 hasfound out that the synchronization starting message 14 sent by theclient device 11 contains outdated information of the first licensefile. So the license server 12 sends the valid information of the firstand the second license file according to the invention, indicated byreference 17. The second license file comprises the information shown inFIG. 3 b, for example: the name of the information, file or applicationto be updated, the version number, the search path of the update file, adescription of the file to be transferred because of the updating andadditionally some other information about the release.

In the client device 11 and license server 12 used, the operationaccording to the invention requires an application program, the size ofwhich in the license server 12 is in the order of 100 kB and in theclient device under 100 kB. In the license server 12, the applicationaccording to the invention can advantageously be implemented as a Java1.2 program. A program based on Java 1.2 can also be applied in theclient device 11. However, in some client devices 11, like terminaldevices of a cellular network, the program according to the inventioncan also be implemented as a Symbian C++ program.

In FIG. 4, the main steps of the method used in the synchronization ofinformation according to the invention are shown as an exemplary flowchart. The features of the invention shown in FIGS. 1 and 2 are alsoutilized in connection with the description. In step 400, the user ofthe client device 11 starts an application program, which can be eithera certain utility application or a separate synchronization startingapplication. In both cases, when starting has taken place, the clientdevice 11 sends a synchronization starting message 14 to a licenseserver 12 maintaining up-to-date license information according to theinvention, step 410. The information comprised by the synchronizationstarting message 14 has been described above in connection with FIGS. 1to 3.

In step 420, the license server 12 compares the information of the firstlicense file contained by the synchronization starting message 14 to theinformation of its own, up-to-date first license file. In step 430, itis decided whether the information of the received first license fileand the up-to-date first license file are equivalent or not. If thesefirst license files are equivalent, the license server 12 sends asynchronization acceptance message 15 and the information 16 of thevalid first license file to the client device 11 in step 470. Thesynchronization acceptance message 15 tells the client device 11 that itis using an up-to-date piece of information, file or program. Thepayload application in the client device 11 can thus be started at once,step 480.

In step 430, the comparison result can be “NO”, which means that thefirst license file sent by the client device 11 in the synchronizationstarting message has contained old information. In that case, in step440, the license server 12 sends both valid pieces of information of thefirst and the second license file according to the invention to theclient device 11, reference 17. The absence of the synchronizationacceptance message 15 thus indicates to the client device 11 that updateinformation can be retrieved by utilizing the information of the secondlicense file.

In step 450, the user of the client device 11 is advantageously giventhe possibility to prevent retrieving the update. This possibility canbe useful when the update file to be transferred is so large that itstransfer will take a long time. If the user prevents the retrieval ofthe update, the client device 11 immediately starts the not-up-to-dateapplication program in it, or the application program is allowed to useold information or an old file, step 480. In a preferred embodiment ofthe invention, the user of the client device can give an updatepermission of permanent nature, in which case the user is no more askedfor an update permission.

If the user of the client device 11 allows the retrieval of the updateoffered in step 450, it is carried out in step 460. Step 460 preferablycomprises both the retrieval of the update from a device addressindicated by the information contained by the second license file andthe installation of the retrieved update file in the client device 11.When the updating has been completed, the updated application program isstarted in the client device in step 480.

The method according to the invention can be implemented by softwareapplications, the first of which is located in a server 12 maintainingan up-to-date license file, and the second in a client device 11. Thefirst software application comprising steps 420, 430, 440 and 470 of themethod according to the invention shown in FIG. 4 is preferably in thelicense server 12. The client device 11 advantageously includes anothersoftware application comprising steps 400, 410, 450, 460 and 480.Otherwise the client device 11 and the license server 12 comply with theprior art.

Applying the invention does not require any other structural changes ofthe devices participating in the file transfer. So the client device 11and the servers 12 and 13 comprise prior art data transfer means fortransmitting various messages between them. The structure and operationof these data transfer means is determined on the basis of the datatransfer network used. So the only measures required for utilizing themethod according to the invention are installing the above describedsoftware applications both in the client device 11 and the licenseserver 12 used.

The procedure according to the invention can also be applied in savingthe information or files to be updated into a media server 13. A caselike this could be, for example, updating calendar information from amobile client device 11 to a media server 13. In this situation, theclient device 11 first presents to a license server 12 according to theinvention a data synchronization request, in which the data transferdirection from the client device 11 to the servers 12 and 13 is definedas additional information. Such updating of data causes at least achange of the version number in the first license file according to theinvention in the license server 12. In addition, it is also possible todefine or change other information belonging to the first or the secondlicense file according to the invention.

When the license files according to the invention has been updated onthe license server 12, the actual information or file to be updated istransferred to the media server 13. The information to be transferredfrom the client device 11 to the media server 13 can be defined andtransferred by procedures defined in an application-specific manner.

Some preferred embodiments of the method and data transfer arrangementand related devices according to the invention have been describedabove. The invention is not limited to the embodiments described above,but the inventive idea can be applied in numerous ways within the limitsset by the claims.

1. A method for synchronizing information comprised by an applicationprogram in a client device from a media server maintaining up-to-dateinformation, a) in which method the starting of the application programin the client device or a synchronization starting application causeschecking of the up-to-date status of an application program in a clientdevice before said piece of information is taken into use in theapplication program, b) in which method for checking the up-to-datestatus of the information the client device sends a synchronizationstarting message to a license server, which checks the informationcomprised by the synchronization starting message it received and sendsback to the client device a reply message, and c) in which method saidreply message always comprises the information of an up-to-date firstlicense file and one of the following: a synchronization acceptancemessage or the information of a second license file, by using which theinformation of the application program can be updated to the clientdevice from said media server.
 2. The method according to claim 1,wherein if the client device receives the information of the secondlicense file, the user of the client device is asked, at least on thefirst time of updating, for permission to carry out the updating fromthe media server.
 3. The method according to claim 2, wherein if theupdate permission has been received, the client device updates theinformation comprised by said application program from the media serverby sending an update request, to which the media server replies bysending to the client device the update information it requested.
 4. Themethod according to claim 1, wherein if the client device receives asynchronization acceptance message, the application program used on theclient device comprises up-to-date information, which is used as such.5. The method according to claim 1, where the first license filecomprises the following information: the licensee, time of validity ofthe license and restrictions of the license.
 6. The method according toclaim 1, where the second license file comprises the followinginformation: the name of the information, file or application to beupdated, the version number, the search path of the update file, adescription of the file to be transferred because of the updating andother information concerning the release.
 7. A data transfer arrangementfor synchronizing information comprised by an application program in aclient device, a) in which data transfer arrangement, informationcomprised by an application program in a client device can be updatedfrom a media server maintaining up-to-date information after thestarting of said application program or synchronization startingapplication before said information is arranged to be taken into use insaid application program, b) in which data transfer arrangement theclient device has been arranged to send a synchronization startingmessage to the license server for checking the up-to-date status of theapplication program in a client device before the application program isused, and the license server has been arranged to check the informationcomprised by the synchronization message it has received and to send thechecking result as a reply message back to the client device, and c) inwhich data transfer arrangement said reply message always comprises theinformation of an up-to-date first license file and one of the followingfiles: a synchronization acceptance message or the information of asecond license file, by using which the information of the applicationprogram has been arranged to be updated to the client device from saidmedia server.
 8. The data transfer arrangement according to claim 7,wherein if the client device has received the information of the secondlicense file, in that case the client device has been arranged to updatethe information comprised by said application program from the mediaserver by sending an update request, as a reply to which the mediaserver has been arranged to send to the client device the updateinformation asked by it.
 9. The data transfer arrangement according toclaim 7, wherein if the client device has received a synchronizationacceptance message, the application program used on the client devicecomprises up-to-date information.
 10. The data transfer arrangementaccording to claim 7, where the first license file comprises thefollowing information: the licensee, time of validity of the license andrestrictions of the license.
 11. The data transfer arrangement accordingto claim 7, where the second license file comprises the followinginformation: the name of the information, file or application to beupdated, the version number, the search path of the update file, adescription of the file to be transferred because of the updating andother information concerning the release.
 12. A license server forsynchronizing information comprised by an application program in aclient device, which license server comprises a) files concerning theapplication program in the client device, which files comprise anup-to-date first license file and a second license file, by which theup-to-date status of said application program in the client device canbe checked and updated from a media server before using the applicationprogram, b) means for checking the information contained by the firstlicense file of the synchronization message received from the clientdevice against the corresponding first piece of license informationmaintained by the license server, and c) means for sending a replymessage, which comprises an up-to-date first piece of licenseinformation and either a synchronization acceptance message or a secondpiece of license information, by using which the information of theapplication program can be updated to the client device from said mediaserver.
 13. The license server according to claim 12, where said firstlicense file comprises the following information: the licensee, time ofvalidity of the license and restrictions of the license.
 14. The licenseserver according to claim 12, where said second license file comprisesthe following information: the name of the information, file orapplication to be updated, the version number, the search path of theupdate file, a description of the file to be transferred because of theupdating and other information concerning the release.
 15. A terminaldevice of a data transfer network, which comprises means for sending,receiving and processing messages a) means for updating informationcomprised by an application program used in the terminal device fromanother device (13), b) means for starting the synchronization ofinformation comprised in an application program to be started in theterminal device, which means have been arranged to send asynchronization starting message to a license server, whichsynchronization starting message comprises information concerning theup-to-date status of the application program to be started, and c) meansfor processing a reply message sent by the license server because of thesynchronization starting message, which message comprises theinformation of an up-to-date first license file and the information ofeither a synchronization acceptance message or a second license file, byusing which the information of the application program can be updated tothe terminal device from said other device.
 16. The terminal deviceaccording to claim 15, which also comprises a) means for asking the userof the terminal device for update permission at least on the first timeof updating, if the information of the second license file has beenreceived, and b) means for retrieving the update from a second device onthe basis of the information received.
 17. The terminal device accordingto claim 15, wherein said first license file comprises the followinginformation: the licensee, time of validity of the license and therestrictions of the license.
 18. The terminal device according to claim15, wherein said second license file comprises the followinginformation: the name of the information, file or application to beupdated, the version number, the search path of the update file, adescription of the file to be transferred because of the updating andother information concerning the release.
 19. The terminal deviceaccording to claim 15, where said means have been implemented by programmeans.
 20. The terminal device according to claim 15, where the terminalis one of the following: a terminal device of a cellular network, a WLANterminal device, a PDA or a palm computer.